//package a2025_03_05;
//
//import java.util.LinkedList;
//import java.util.Queue;
//
//public class demo2 {
//    static int[] dr=new int[]{1,-1,0,0};
//    static int[] dc=new int[]{0,0,1,-1};
//    static boolean[][] visit;
//    static int m;
//    static int n;
//    public static void main(String[] args) {
//        int[][] grid={{0,0,1,1,0,0,0,1,0,0,0,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,1,1,0,1,0,0,0,0,0,0,0,0},{0,1,0,0,1,1,0,0,1,0,1,0,0},{0,1,0,0,1,1,0,0,1,1,1,0,0},{0,0,0,0,0,0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,0,0,0,0,0,0,1,1,0,0,0,0}};
//        m=grid.length;
//        n=grid[0].length;
//        visit=new boolean[m][n];
//        int max=0;
//        for(int i=0;i<m;i++){
//            for(int j=0;j<n;j++){
//                if(grid[i][j]==1&&!visit[i][j]){
//                    visit[i][j]=true;
//                    int ret=bfs(grid,i,j);
//                    System.out.println(ret);
//                    if(ret>max) max=ret;
//                }
//            }
//        }
//        //return max;
//    }
//
//    public static int bfs(int[][] grid,int i,int j){
//        Queue<int[]> queue=new LinkedList<>();
//        queue.add(new int[]{i,j});
//        int ret=1;
//
//        while(!queue.isEmpty()){
//            int[] temp=queue.poll();
//            int r=temp[0];
//            int c=temp[1];
//
//            for(int k=0;k<4;k++){
//                int x=r+dr[k];
//                int y=c+dc[k];
//                if(x>=0
//                        &&x<m
//                        &&y>=0
//                        &&y<n
//                        &&grid[x][y]==1
//                        &&!visit[x][y]){
//                    queue.add(new int[]{x,y});
//                    visit[x][y]=true;
//                    ret++;
//                }
//            }
//        }
//        return ret;
//    }
//}
